package modelo

import org.junit.Assert
import org.junit.Before
import org.junit.Test

class TestDeLoot {
	Planta tomateHomicida
	Planta pepinoEndeble
	Zombie zRE2
	Jugador player1
	Sistema sistema
	Jardin jardin
	Observer obs
	Planta tomateHomicida2
	TipoTerrestre tipoT
	
	
	@Before
	def void init(){
	sistema= new Sistema(new Jugador)
	jardin= new Jardin
	tipoT= new TipoTerrestre
	tomateHomicida= sistema.crearPlanta(100,300,"tomateHomicida",tipoT)
	tomateHomicida2= sistema.crearPlanta(100,300,"tomateHomicida2",tipoT)
	pepinoEndeble= sistema.crearPlanta(10,5,"pepinoEndeble",tipoT)
	player1= new Jugador
	zRE2= sistema.crearZombie(10,70, "zombie residen evil 2")
	obs= new Observer
	player1.setSistemaBase(sistema)
	}
	
	@Test
	def void elJugadorRecibeOro(){
		val plata=player1.monedero
		obs.jugador=player1
		zRE2.daPremio(obs)
		val agregado= zRE2.resBase/2
		Assert::assertEquals(plata+agregado,player1.monedero, agregado)
	}
	
	@Test
	def void elJugadorRecibePlanta(){
		obs.jugador=player1
		zRE2.daPlanta(obs)
		Assert::assertTrue(player1.jardinZenTierra.contains(sistema.plantasDisponibles.get(3)))
		//el sistema regala una planta a un jugador nuevo random en el @before asi que tenia que testear la segunda planta
	}
	
}